MK Items 1.0
by smkdan
smkdan@hotmail.com

An overview:

MK Items is a program allowing easy editing of item probabilities in all modes, including items which would normally be unavaliable in certain courses.  The program should explain itself but for the sake of completeness here's a write up.

Usage:

Load up a SMK ROM, pick a mode, track and a condition, and set a series of values that add up to 32.  Simple.

Conditions have different item probabilities attached to them, depending on the situation the player who collects an item is in.

The buttons in the bottom right corner work as follows:
-Set Defaults will set the values in the selected field to the values found in an unmodified rom.
-Reload Settings will load the values which were present at load or from the last save.
-Clear just clears all the boxes.

ROM Data:

The ROM data is stored in the following format.

-The first item (Mushroom) has it's value stored as-is.
-All other items except lightning has it's probability stored by adding all the previously stored items together, plus the probability of the item itself.
-Lightning probability is calculated by subtracting the sum of all other item probabilities from 32.

Eg:

Mushroom = 6
Feather = 10
Star = 2
Banana = 1
Green = 0
Red = 4
Ghost = 2
Coins = 1
Lightning = 6

Will be stored as: 6, 16, 18, 19, 0, 23, 25, 26
The game gets the lightning figures from: 32 - 26 = 6

An extra byte is added at the end of the item bytes which determines what items appear in the item box when it cycles and what items you can ultimately end up getting IF the probability allows.

0x80 = All items
0x81 = No feathers
0x82 = No coins or bolts
0x83 = No ghosts
0x84 = No ghosts or feathers

Mario Circuit normally has 81 set to its item probabilities in match race to allow ghosts but no feathers and 0x84 in Grandprix to disallow both.

Here's the offsets of the data in the ROM.  These are WITH the 0x200 bye header.  The order is condition 1, 2 and 3.  Each entry is 9 bytes long. 

Grandprix

MC 
0x1B7A0, 0x1B7A9, 0x1B7B2

DP 
0x1B7D6, 0x1B7DF, 0x1B7E8

GV 
0x1B7BB, 0X1B7C4, 0X1B7CD

CI 
0X1B80C, 0X1B815, 0X1B81E

KB 
0X1B827, 0X1B830, 0X1B839

VL 
0X1B842, 0X1B84B, 0X1B854

BC & RR
0X1B7F1, 0X1B7FA, 0X1B803
	
Match Race

MC
0X1B6E3, 0X1B6EC, 0X1B6F5

DP 
0X1B719, 0X1B722, 0X1B72B

GV 
0X1B6FE, 0X1B707, 0X1B710

CI 
0X1B74F, 0X1B758, 0X1B761

KB 
0X1B76A, 0X1B773, 0X1B77C

VL 
0X1B785, 0X1B78E, 0X1B797

BC & RR 
0X1B734, 0X1B73D, 0X1B746
	
Battle

0X1B85D



 

